1. Field of the Invention
The present invention relates to a method, system, and program for accessing an application program and, in particular, using a file name to control the operation of the application program.
2. Description of the Related Art
Database management systems for large scale databases maintaining mission critical data must provide continuous online access to the data, maintain data integrity, provide a timely response to data requests, and provide for the recovery of data in the event of a system failure. One commonly used database management program for managing access to large scale, highly available databases is the International Business Machines Corporation""s (IBM) Information Management System (IMS) family of products. IMS includes two main components, an IMS database manager and a data communications manager, otherwise referred to as a transaction manager. The transaction manager processes transactions. A transaction is a set of input data that triggers the execution of a specific job or process. A message destined for an application program and the return of results is considered to be one transaction. The IMS TM can handle thousands of transactions per second.
The IMS transaction manager can parallel process concurrently executing application programs. The transaction manager receives messages from certain sources, schedules the application program, and then executes the application program in a manner to allow parallel processing and separation of application program processing. The IMS transaction manager can execute IMS database programs, non-IMS database programs, and other application programs. The transaction manager allows for cooperative processing, distributed database processing, and continuous operation. The transaction manager further routes messages from terminal to terminal, from application to application, and between application programs and terminals. The transaction manager also schedules messages by associating programs with the transactions they are to process. Still further, applications requesting data from the transaction manager receive the most recent version of the data, including any updates that may not have yet been applied to the database. Details of the IMS transaction manager are described in IBM publications: xe2x80x9cIMS/ESA V5 General Information,xe2x80x9d document no. GC26-3467-00 (Copyright IBM Corp. 1974, 1995) and xe2x80x9cTechnical Notexe2x80x94IMS Celebrates Thirty Years as an IBM Product,xe2x80x9d by K. R. Blackman, Systems Journal, Vol. 37, No. 4, Reprint order no. G321-5693 (Copyright IBM 1998), which publications are incorporated herein by reference in their entirety.
For an application program or computer terminal to communicate with the IMS transaction manager and database manager, an application program interface (API) must be developed to interface between the application and IMS. The interface may be written with protocols specific to the transaction manager, such as Advanced Program-to-Program Communications (APPC), TCP/IP, and Open Transaction Manager Access (OTMA). For a computer or terminal to interact with the IMS transaction manager, the workstation must include a programming interface, such as the MS Client Server for Windows (IMS CS for Windows), that allows the workstation to call and execute IMS transactions. Therefore, for each workstation or application that wants to communicate with the transaction manager, there must be a separate application interface to allow communication with the IMS transaction manager.
Thus, there is a need in the art for an improved architecture for allowing application programs to communicate with other programs, such as the IMS transaction manager.
To overcome the limitations in the prior art described above, preferred embodiments disclose a system, method, and program for accessing an application program. A request for a file is received. The request includes a pathname and the pathname includes at least one directory name and the file name. The pathname is processed to determine whether the request is for a file on a storage device or an operation for the application program to perform. The file request is processed to generate a control message for the application program after determining that the request is not for a file on the storage device. The control message is then passed to the application program to cause the application program to perform an operation.
In further embodiments, the file name includes input data to the application program and one directory name indicates a command to control the application program. In such case, the control message includes the command indicated in the directory name and the input data indicated in the file name to control the operation of the application program.
In yet further embodiments, the application program is a transaction manager. In such case, the control message causes the transaction manager to schedule the execution of one application program pursuant to information included in the pathname.
Preferred embodiments provide a mechanism for accessing an application program, such as a transaction manager, by using a virtual file name to access the application program through the file system. A user using a viewer program, such as a Web or file browser, may access application programs to perform an operation by specifying the commands and/or parameters of the operation in the pathname of a virtual file name, for which there is no actual file on a storage device. The file system includes the API interface to the application program. The file system processes the file name to determine whether the file name is a file for which there is data on a storage device or a virtual file name intended to access an application program.
In this way, any application program or device can access the application program through the file system without having to develop a separate API to the application program as the file system maintains the interface software. This makes available the functionality of any system application program, such as a transaction manager, to any user or other application program without the need of developing interface software every time a device or program wants to interact with the application program. All that is needed to communicate with the application program is an understanding of the codes to construct the virtual file name that can control the operation of the program.